package com.lib.service;


import com.lib.config.WxAgentConfig;
import com.lib.config.WxConfig;
import com.lib.handler.*;
import com.lib.handler.agent.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 
 * @author Binary Wang
 *
 */
@Service
public class WxAgentService extends BaseWxService {

  @Autowired
  private WxAgentConfig wxConfig;

  @Autowired
  private RentalAgentLocationHandler locationHandler;
  @Autowired
  private RentalAgentMenuHandler menuHandler;
  @Autowired
  private RentalAgentSubscribeHandler subscribeHandler;
  @Autowired
  private RentalAgentUnSubscribeHandler unSubscribeHandler;
  @Autowired
  private RentalAgentMsgHandler msgHandler;
  @Autowired
  private RentalAgentScanHandler scanHandler;


  @Override
  protected WxConfig getServerConfig() {
    return this.wxConfig;
  }

  @Override
  protected MenuHandler getMenuHandler() {
    return this.menuHandler;
  }

  @Override
  protected SubscribeHandler getSubscribeHandler() {
    return this.subscribeHandler;
  }

  @Override
  protected UnsubscribeHandler getUnsubscribeHandler() {
    return this.unSubscribeHandler;
  }

  @Override
  protected AbstractHandler getLocationHandler() {
    return this.locationHandler;
  }

  @Override
  protected MsgHandler getMsgHandler() {
    return this.msgHandler;
  }

  @Override
  protected AbstractHandler getScanHandler() {
    return this.scanHandler;
  }

  public WxConfig getConfig(){
      return this.wxConfig;
  }

}
